In the following description references will be made to the following publications:
(1) ADSP-2100 Family applications Handbook, Vol. 2, 6-22 to 6-25 Analog Devices Inc.
(2) Zoicas A., Grohe K. "8-Kanal-DTMF-Empfanger: Keine weirere Hardware mehr notig", Elektronik, 16/4, 1989, p. 65-62
(3) Oppenheim A., Schafer R. "Digital Signal Processing", Prentice Hall, Engelwood Cliffs, N.J., 1975, p. 290 ff
(4) Goertzel G.: "An Algorithm for the Evaluation of Finite Trigonometric Series", American Mathematics Monthly, Vol. 5, January 1958
(5) Digital Signal Processing Applications with the TMS320 Family: p. 552-555, Texas Instruments
(6) Verdun F. R., Giancaspro C., Marshall A. G. "Effects of Noise, Time-Domain Damping, Zero-Filling on the "Exact" Interpolation of Fast Fourier Transform Spectra", Applied Spectroscopy, Vol 42, Nr. 5, 1988, p. 715-721.
Dialling receivers for MF signals are known e.g. from (1) and (2). Since with the MF dialling method the signalling is performed within the speech band there is needed a voice frequency protection in order to be able to detect dialling signals with a simultaneous transmission of speech or similar signals or to prevent speech signals from being interpreted as signalling signals. This voice frequency protection has led to a two frequencies code. To each dialling digit or to each special character there is allocated a combination of two simultaneously transmitted signals of respective given frequencies, the two frequencies belonging to two clearly spaced groups. Both frequency groups consist each of four distinct frequencies so that a total of 16 characters are possible. Said frequencies are chosen in such a manner that there exist no harmonic relations between the basic frequencies, their harmonics and the respective intermodulation products. For a further protection against an accidental imitation of dialling signals by speech signals the absolute and relative levels of the two frequencies of one character have to be within given limits.
The call for the absence of any harmonic relation between the basic frequencies, their harmonics and the respective intermodulation products has the result that the spacings of the frequencies of the two groups are very different so that several known methods of determining the levels of said frequencies, i.e. for their recognition seem to be unsuitable due to an insufficient accuracy or due to a too large design effort.
The MF dialling method is well adapted both for telecommunication networks using analog signalling and those using digital signalling. With analog signalling and digital processing of ht dialling information within a dialling receiver the analog input signal has to be digitized prior to its processing. The dialling receiver takes a certain number of samples from its input signal. The exact number results from the sampling frequency and the duration of detection. With digital signalling and the usual PCM coding the sampling frequency cannot exceed 8 kHz. The maximum duration of detection is limited by the required minimum duration of key operation. The latter and the interval duration are fixed by the signalling protocol of the respective telecommunication network. Signalling protocols of this kind are e.g. "DTMF", "R1" or "R2". They are laid down in CCITT recommendations Q.23 and Q.24, Q.320 and Q.323 and Q.454 and Q.455 respectively.
For dialling receivers with digital signalling the maximum number of samples usable for the recognition of a distinct dialling character depends also from the manner of processing by the processor, from tis capability and from the number of channels to be monitored.
Prior art dialling receivers with digital signal processing take N samples from the input signal and detect based on said samples the levels of the input signal at the frequencies of interest. For doing this they perform a Discrete Fourier Transform (DFT) of said samples.
One may think to perform the DFT at the frequencies of interest only, but this would result in a too large design effort with digital integration. Further one may think to perform the DFT according to a Fast Fourier Transform (FFT) as described e.g. in (3). Therewith the levels would be received at N/2 evenly distributed frequencies and the value of N must be N=2.sup.x and should not be too small in view of the required accuracy. The levels of the frequencies of interest have to be determined with the aid of interpolation methods. If the number of frequencies of interest is substantially smaller than N/2 and said frequencies are unevenly distributed an FFT combined with interpolation methods results in an unnecessary processing load as the levels at a large number of frequencies without interest have to be determined.
It is known from the literature that it is possible to perform a DFT on a recursive basis, e.g. in [4] G. Goertzel describes an algorithm to obtain the numerical evaluation of EQU C=a0+a1.multidot.cos(x)+a2.multidot.cos(2x)+. . . +ak.multidot.cos(kx)+. . . +An.multidot.cos(Nx) and EQU S=a1.multidot.sin(x)+a2.multidot.sin(2x)+. . . +ak.multidot.sin(kx)+. . . +An.multidot.sin(Nx),
i.e. the terms needed for a DFT, based on a recursive calculation needing the values of ak, cos(x) and sin(x) only, but not cos(kx) and sin(kx). The algorithm is defined by: EQU U(N+2)=U(N+1)=0; EQU U(k)=ak+2.multidot.cos(x).multidot.U(k+1)-U(k+2), k=N, N-1, . . . , 1; EQU C=a0+U(1).multidot.cos(x)-U(2); and EQU S=U(1).multidot.sin(x).
As can be seen, the necessary calculations are not applied to a data set already stored as with the FFT but to a sequential data stream. This means that the input values have not to be stored so that the size of the internal data store is greatly reduced.
The eight frequencies standardized by CCITT by their recommendation Q.23 for the DTMF multifrequency dialing system are unevenly distributed. With a FFT one would have to evaluate the signal levels at far too many frequencies and yet an interpolation would be necessary. With the aid of the Goertzel algorithm it is possible to determine the levels of the input signal, i.e. the amplitude of the Fourier transform at selected frequencies only, a known fact to which indication is made for example in [2]. But said frequencies can be selected only among certain evenly distributed frequencies having a distance depending from N and from the sampling frequency. If the frequencies of interest do not correspond with this grid of frequencies it is again necessary to make use of an interpolation method. An increase of N results in a finer grid.
A small increase of N does not necessarily imply an amelioration of the problem since for at least with unevenly distanced frequencies of interest, their mean distances from the grid may increase. At least for a dialling receiver there are limits for a large increase of N due to the upper limit of the sampling frequency and the maximum duration of detection. The strongly increasing processing load also limits the increase of N.
According to the above mentioned CCITT recommendation Q.23 for a dialling receiver the duration of detection should not exceed 40 ms and the sampling frequency should not exceed 8 kHz. This means that for a dialling receiver fulfilling the above recommendation the value of N must be smaller than 320. Technical reasons, especially time limitations suggest a value of N smaller than 250. From N=250 and a sampling frequency of 8 kHz there results a grid distance of 32 Hz. There are several publications discussing the optimal choice of N. For the eight DTMF frequencies as the frequencies of interest this is discussed e.g. in (1) and (5).
In order to decrease the grid distance it is possible to use a method known in signal processing as "zero-filling", where for the analysis of time limited signals not only are N measured samples used, but M zero values are also used. Therewith the signal spectrum does not change, but it is calculated at a higher number of positions. The distance of the DFT components is no longer F/N, but F/(N+M), i.e. the grid distance becomes smaller. The position for the insertion of the zeros into the calculation is completely irrelevant provided the significant data remain together.
If the level determination for certain frequencies is made with the aid of interpolation methods the zero-filling could adversely affect the relative accuracy of said interpolation. This handicap is described e.g. in (6).